table of contents
AUTHSELECT-PROFILES(5) | AUTHSELECT-PROFILES(5) |
NAME¶
authselect-profiles - authselect profillerinin genişletilmesi.
AÇIKLAMA¶
Bu kılavuz sayfasında authselect profillerinin nasıl düzenlendiği ve yeni profillerin nasıl oluşturulacağı açıklanmaktadır.
PROFİL DİZİNLERݶ
Profiller üç dizinden birinde bulunabilir.
/usr/share/authselect/default
/usr/share/authselect/vendor
/etc/authselect/custom
PROFİL DOSYALARI¶
Her profil, zorunlu profil açıklamasını sağlayan ve sistemde yapılan değişiklikleri açıklayan bu dosyalardan bir veya daha fazlasından oluşmaktadır.
README
system-auth
password-auth, smartcard-auth, fingerprint-auth
postlogin
nsswitch.conf
dconf-db
dconf-locks
KOŞULLU SATIRLAR¶
Bu dosyaların her biri bir şablon görevi görmektedir. Şablon, bazı isteğe bağlı profil özellikleri sağlamak için kullanılabilen birkaç işlemin isteğe bağlı kullanımına sahip bir düz metin dosyasıdır.
{continue if "özellik"}
{stop if "özellik"}
{include if "özellik"}
{exclude if "özellik"}
{imply "dolaylı-özellik" if "özellik"}
{if "özellik":true|false}
{if "özellik":true}
Koşullu satırda bir özellik adı belirtmek yerine mantıksal ifade de kullanılabilir. Bu durumda ifade doğru veya yanlış olarak değerlendirilecek ve koşullu operator sonuca göre hareket edecektir.
İfade söz dizimi; özellik tanımlıysa true, değilse false döndüren özellik adlarından (örn. "özellik") ve şu mantıksal işlemlerden oluşur: and, or ve not. İfade ayrıca parantez içine alınabilir ve birden fazla alt ifade içerebilir.
Örneğin:
{if "özellik1" or "özellik2":true}
{if not "özellik":true|false}
{if not "özellik":true}
{if "özellik1" and ("özellik2" or "özellik3"):true}
ÖRNEK¶
Aşağıda "if" işleminin kullanımına bir örnek verilmiştir. Bu, "with-sudo" özelliği etkinse sudoers satırına "sss" ekleyecektir.
passwd: sss files group: sss files netgroup: sss files automount: sss files services: sss files sudoers: files {if "with-sudo":sss}
Aşağıda "continue-if" ve "include-if" işlemlerine bir örnek verilmiştir. "with-smartcard" özelliği etkinleştirilmediği sürece, sonuç olarak elde edilecek dosya boş olacaktır. Etkinleştirilirse ve ayrıca "with-faillock" özelliği de etkinse, pam_faillock desteğini de etkinleştirecektir.
{continue if "with-smartcard"} auth required pam_env.so auth required pam_faildelay.so delay=2000000 auth required pam_faillock.so preauth silent deny=4 unlock_time=1200 {include if "with-faillock"} auth [default=1 ignore=ignore success=ok] pam_succeed_if.so uid >= 1000 quiet auth [default=1 ignore=ignore success=ok] pam_localuser.so auth sufficient pam_unix.so nullok auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth sufficient pam_sss.so forward_pass auth required pam_faillock.so authfail deny=4 unlock_time=1200 {include if "with-faillock"} auth required pam_deny.so ...
Aşağıda mantıksal ifade kullanan bir "continue-if" örneği verilmiştir. "with-smartcard" veya "with-smartcard-required" ayarlanmadığı sürece dosya boş olacaktır. Bu, her iki özelliği de içermesi gerekmeyen, yalnızca "with-smartcard-required" özelliğinin gerekli olduğu authselect select komutunun çağrılmasını kolaylaştıracaktır.
{continue if "with-smartcard" or "with-smartcard-required"} auth required pam_env.so auth required pam_faildelay.so delay=2000000 auth required pam_faillock.so preauth silent deny=4 unlock_time=1200 {include if "with-faillock"} auth [default=1 ignore=ignore success=ok] pam_succeed_if.so uid >= 1000 quiet auth [default=1 ignore=ignore success=ok] pam_localuser.so auth sufficient pam_unix.so nullok auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth sufficient pam_sss.so forward_pass auth required pam_faillock.so authfail deny=4 unlock_time=1200 {include if "with-faillock"} auth required pam_deny.so ...
Aşağıda "imply-if" işlemine bir örnek verilmiştir. "with-smartcard-required" özelliğini etkinleştirmek, ilgili tüm PAM modüllerinin kullanıldığından emin olmak için "with-smartcard" özelliğini de etkinleştirecektir. Bu, önceki örnekle aynı davranışı sağlayacaktır.
{imply "with-smartcard" if "with-smartcard-required"} auth required pam_env.so auth required pam_faildelay.so delay=2000000 auth [success=1 default=ignore] pam_succeed_if.so service notin login:gdm:xdm:kdm:kde:xscreensaver:gnome-screensaver:kscreensaver quiet use_uid {include if "with-smartcard-required"} auth [success=done ignore=ignore default=die] pam_sss.so require_cert_auth ignore_authinfo_unavail {include if "with-smartcard-required"} auth [default=1 ignore=ignore success=ok] pam_succeed_if.so uid >= 1000 quiet auth [default=1 ignore=ignore success=ok] pam_localuser.so {exclude if "with-smartcard"} auth [default=2 ignore=ignore success=ok] pam_localuser.so {include if "with-smartcard"} auth [success=done authinfo_unavail=ignore user_unknown=ignore ignore=ignore default=die] pam_sss.so try_cert_auth {include if "with-smartcard"} auth sufficient pam_unix.so {if not "without-nullok":nullok} auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth sufficient pam_sss.so forward_pass auth required pam_deny.so ...
YENİ BİR PROFİL OLUŞTURMA¶
Authselect içinde yeni bir profil kaydetmek için, authselect profil konumlarından birinde yukarıda listelenen dosyaları içeren bir dizin oluşturun. Dosyaların hepsinin bulunması zorunlu değildir, yalnızca README dosyası zorunludur. Diğer dosyalar ihtiyaca göre oluşturulabilir.
Yeni bir profil oluştururken authselect create-profile komutu faydalı olabilir. Daha fazla bilgi için authselect(8) kılavuz sayfasına bakın veya authselect create-profile --help komutunu kullanın.
AYRICA BAKIN¶
2018-02-17 |